在springboot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现动态增删启停定时任务功能,比较广泛的做法是集成Quartz框架。但是本人的开发原则是:在满足项目需求的情况下,尽量少的依赖其它框架,避免项目过于臃肿和复杂。查看spring-context这个jar包中org.springframework.scheduling.ScheduledTaskRegistrar这个类的源代码,发现可以通过改造这个类就能实现动态
长字符串起因项目里面有一长串的加密字符串(最长的万多个字符),需要拼接作为参数发送给第三方。如果我们使用枚举定义的话,idea编译的时候就会出现编译报错Error:java:常量字符串过长解决想法网上还有一个说法,说是编译器问题,修改idea工具的编译为eclipse即可。但是结果我仍然不满意,所以我决定把他放在文件中,然后需要的时候读取出来即可。所以,我就把字符串放到了resources的某个txt文件下,然后再从文件中读取出来遇到的问题在springboot项目中,尝试了好多次读取resources下的payload.txt文件一直失败。报错一直是该文件不存在一开始使用的是hutoolut
文章目录引言1、idea集成docker1、安装Docker插件2、修改云服务器配置,使服务器端允许Docker远程连接3、在idea中配置Docker连接信息4、idea中使用Docker2、在springBoot项目中如何引入Docker1、pom.xml中添加Docker插件坐标2、刷新maven,查看docker插件3、打开控制台,查看服务器上的Docker3、使用Docker打包SpringBoot项目4、让我的项目使用Docker容器跑起来吧!总体思路1、创建容器并启动容器2、访问项目注意点1、修改项目中Mysql、Redis、RabbitMQ等的配置引言本人使用资源:云服务器主机
Gradle8.4构建SpringBoot多模块项目一、基本1、版本这个版本是Jdk8最后一个SpringBoot版本软件版本Gradle8.4SpringBoot2.7.15JDK82、Gradle基本介绍2.1、使用Wrapper方式构建好处:统一gradle的版本好处:不用安装gradle就可以使用Maven也是一样的可以用Wrapper的方式2.2、导包方式列举常用的四种implementationapicompileOnlycompileOnlyApi①、implementation导入依赖,不传递给子模块,依赖项将被编译和打包到项目中②、api导入依赖,传递给子模块,依赖项将被编译
解决此springbootprojectusingMongoDB/GORM/Groovy的启动问题在Java1.7.0_55、gradle1.11和spring-boot-gradle-plugin:1.2.1.RELEASE上。我按原样运行项目,但对我的远程mongodb的application.yml进行了以下更改:spring:mongodb:host:"10.160.8.1"databaseName:"citydb"**启动时,我看到mappingMongoConverter出现这个bean初始化错误Causedby:org.springframework.beans.fact
文章目录@[toc]一、EasyExcel二、EasyExcel常用注解三、整合EasyExcel3.1引入依赖3.2实体类定义3.3自定义转换器3.4编写导出Excel接口3.5编写导入Excel接口四、小结一、EasyExcelEasyExcel是一款基于Java的开源Excel操作工具,它提供了简单且强大的API,使开发人员可以轻松地读写、操作和生成Excel文件。EasyExcel支持Excel文件的导入和导出,可以处理大量数据,具有高性能和低内存占用。它可以读取Excel文件中的数据,并将数据转换为Java对象,也可以将Java对象写入Excel文件。EasyExcel还提供了丰富的
目录entity实体类相关知识点详解: 解释1:上面代码使用的注解是Lombok提供的注解,用于简化实体类的开发。 解释2:属性的注释自动生成问题: 解释3:java序列化反序列化,实体类实现Serializable接口: java序列化和反序列化 实现序列化和反序列化实现Serializable接口原因及注意事项: 解答:现在前后端数据传输和存储都使用JSON这种数据格式了,让公共返回对象实现Serializable接口,实现序列化成字节序列。这是使用@responseBody,又转成json返回形式进行网络传输,JSon序
文章目录1、为什么要使用WebSocket?2、配置方式一:实现ServletContextInitializer+@ServerEndpoint注解2.1、WebSocket配置2.2、WebSocket连接,@ServerEndpoint2.3、WebSocket请求过滤2.4、postman建立客户端连接3、配置方式二:实现WebSocketConfigurer+继承TextWebSocketHandler3.1、配置:实现WebSocketConfigurer3.2、配置:WebSocket握手,实现对websocket请求的拦截3.3、实现WebSocket服务,监听socket客户
1.死信定义无法被消费的消息,称为死信。如果死信一直留在队列中,会导致一直被消费,却从不消费成功,专门有一个存放死信的队列,称为死信队列(DDX,dead-letter-exchange)。死信队列DLX,DeadLetterExchange的缩写,又死信邮箱、死信交换机。其实DLX就是一个普通的交换机,和一般的交换机没有任何区别。当消息在一个队列中变成死信(deadmessage)时,通过这个交换机将死信发送到死信队列中(指定好相关参数,RabbitMQ会自动发送)。死信的几种来源:消息TTL过期(timetolive,存活时间,可以用在限时支付消息)队列达到最大长度(队列满了,无法路由到该
我正在创建一个Springboot应用程序,但将通过REST使用外部MongoDB。我的应用程序属性文件非常简单:application.properties#Serverserver.port=8081我的全局应用文件也很简单。我使用Parse初始化方法连接到我的外部托管数据库:@SpringBootApplication@ComponentScan(basePackages={"com.test","it.ozimov.springboot"})publicclassTmtApplication{publicstaticvoidmain(String[]args){SpringAp